/*********************************************************************
	\file :           os_sw_layers\bios\services\osek\Os_TaskM.h
	\brief:           Provide Task Manager services.
	\author:          Manuel Sandoval
	\version:         1.0
	\date:            Sat, 01, March 2014
*********************************************************************/

#ifndef Os_TaskM_H
#define Os_TaskM_H


/******************************* Includes**********************************/
#include "Mcu_Cfg.h"
#include "typedef_OS.h"
#include "configuration.h"
#include "Os_TaskCfg.h"



/** S12X derivative information */
#include __MCU_DERIVATIVE

/******************************* Defines **********************************/


/******************************* Enumerations******************************/


/******************************* Structures *******************************/


/******************************* Global Variables **********************************/


/******************************* Functions ********************************/

/*!< ActivateTask Prototype. */
Os_StatusType ActivateTask (TaskType taskID);

/*!< TerminateTask Prototype. */
Os_StatusType TerminateTask (void);

/*!< GetTaskID Prototype. */
Os_StatusType GetTaskID(TaskRefType taskIDRef);

/*!< GetTaskState Prototype. */
Os_StatusType GetTaskState(TaskType taskID, TaskStateRefType stateRef);


/* Save context */
extern void vfnSaveTaskContext(Os_TaskStack *stDestiny);

/* Restore context */
extern void vfnRestoreTaskContext(void);

/* Enable all interrupts */
extern void vfnEnableAllInterrupts(void);

/* Disable all interrupts */
extern void vnfDisableAllInterrupts(void);

/* Run ISR routine */
extern void vfnRunISRRoutine(void);


/** @} *//* End of Os Tasks Group */

#endif /* Os_TaskM_H */

/*********************************************************************
	File	: os_sw_layers\bios\services\scheduler\SchM_Tasks.h
*********************************************************************/
